home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / comm / net / tnddev1p0.lha / ReleaseNotes next >
Text File  |  1993-08-31  |  15KB  |  325 lines

  1.                      RELEASE NOTES FOR TELNETD.DEVICE
  2.                   ======================================
  3.  
  4.               *************************************************
  5.                  VERSION 0 REVISION 165 -- BUILT ON 6 Aug 93
  6.               *************************************************
  7.  
  8. Telnet.device requires either AS225 Release 2 or AmiTCP version 2+ to run.
  9. It also requires Workbench 2.04+ to operate properly.
  10.  
  11. To install telnetd.device, do the following:
  12.  
  13. 1)  Copy the appropriate version of the device to your DEVS:
  14.     directory.  The device must be named telnetd.device.  Thus,
  15.     if you have AS225r2, at a CLI type:
  16.  
  17.     copy telnetd.AS225.device devs:telnetd.device
  18.  
  19.     Similarly, the command to use if you are running AmiTCP is:
  20.  
  21.     copy telnetd.AmiTCP.device devs:telnetd.device
  22.  
  23. 2)  You must create a configuration file for telnetd.device.  For the AS225
  24.     version, this file is called:
  25.  
  26.     inet:db/telnetd-device.conf
  27.  
  28.     The AmiTCP version is called:
  29.  
  30.     AmiTCP:db/telnetd-device.conf
  31.  
  32.     Lines in this file may be blank, start with a ';' character (for
  33.     comment lines) or be a configuration entry.  Configuration entries take
  34.     the form of:
  35.  
  36.     <port #> <# units> <access list> [BLACKLIST <blacklist list>]
  37.  
  38.     <port #>, <# units>, and <access list> are all required.  Specifying
  39.     blacklist entries is optional.
  40.  
  41.     <port #> is the TCP/IP port to accept connections on.
  42.  
  43.     <# units> is the number of units to make available for <port #>
  44.  
  45.     <access list> is a list of networks to allow access to.  This is not
  46.     supported yet, and "255.255.255.255" should be used for the time
  47.     being.
  48.  
  49.     If you wish to blacklist specific networks or hosts, place the
  50.     'BLACKLIST' tag on the line and then follow it by blacklist entries.
  51.     Like the <access list>, blacklist checking is not implemented yet
  52.     and thus you shouldn't try to specify any blacklist entries at this time.
  53.     NOTE:  Blacklist entries must be the last thing on the configuration
  54.     line and must be preceeded by the 'BLACKLIST' tag.
  55.  
  56.     A sample config entry might look like:
  57.  
  58.     23 5 255.255.255.255
  59.  
  60.     This tells telnetd.device to watch TCP/IP port 23 (the standard telnet
  61.     port), allocating 5 units for that port.  These units can then be
  62.     accessed as telnetd.device unit 0 -> telnetd.device unit 4.  If
  63.     another config entry were to follow this one, it's first unit would
  64.     be access as telnetd.device unit 5.
  65.  
  66.     NOTE:  THE DEMO VERSION IS RESTRICTED TO PORT 5432 WITH 2 UNITS!
  67.     The demo version does not make any attempt to read the configuration
  68.     file.
  69.  
  70. Now that you've got the device installed, try opening it with a terminal
  71. program.  You should be able to type AT <carriage return> and have it
  72. respond with "OK".  Typing AT$ <carriage return> will give you a complete
  73. list of all AT commands supported by telnetd.device.
  74.  
  75. To properly monitor a port, you must run as many copies of your
  76. bbs/whatever software as you specified units for.  I.e., if you asked for 5
  77. units on port 23 and you want Getty to handle logins, you would run 5
  78. copies of Getty on telnetd.device unit 0 through telnetd.device unit 4.
  79.  
  80. When a connection comes in, the supervisor for the TCP/IP port looks to see
  81. which of its units have been opened.  It then tries to find one that is
  82. currently available.  If one is free, it hands the connection off to that
  83. unit.
  84.  
  85. THIS RELEASE IS STILL A BETA VERSION!!
  86.  
  87. Known problems:
  88.     1)  file transfers with C-Net don't work.  I have successfully done
  89.         z-modem & other transfers between two terms (one running on
  90.         telnetd.device, the other on tnser.device) though.
  91.     2)  trying to use Terminus in IGNOREODU mode (thereby making Terminus
  92.         use Begin() directly instead of calling DoIO()) results in
  93.         character loss and/or incredibly slow throughput.
  94.     3)  never returns SerErr_BufOverflow or SerErr_DetectedBreak.  It
  95.         does set the appropriate bits for this information in io_Status
  96.         when a SDCMD_QUERY is done, though.  I can't find any
  97.         documentation that states exactly how these errors are
  98.         handled.  If anyone knows, please e-mail me.
  99.     4)  the clients I have ignore my request for binary mode.  thus,
  100.         you have to specify binary on the client before telneting into
  101.         telnetd.device if you want a full 8-bit clean pathway.  if
  102.         someone knows how to kick a client into binary mode remotely,
  103.         please e-mail me.
  104.  
  105. Still more or less untested:
  106.     1)  serial code that makes use of SERF_EOFMODE
  107.     2)  support for the ASDG serial.device extension SIOCMD_SETCTRLLINES
  108.     3)  CMD_RESET, CMD_STOP, CMD_START, & CMD_FLUSH IO requests.
  109.     4)  detection of a break signal from the other side (i.e.,
  110.         when telnetd.device sees IAC BREAK, IAC AO, or IAC IP it
  111.         should indicate that a break signal has been seen.
  112.     5)  banging on this from various Unix varients of telnet to see
  113.         if there are any problems with my options negotiations.
  114.     6)  the AmiTCP version has not been tested at all since I don't
  115.         have the ability to run the AmiTCP protocol stack.
  116.  
  117. Other notes:
  118.     1)  telnetd.device reports the baud rate at connect time based on
  119.         the speed reported by the other side via the TELOPT_TSPEED
  120.         option.  If the other side doesn't support TELOPT_TSPEED, the
  121.         device will report 19200 as a fallback.  Note that the
  122.         TELOPT_TSPEED handling hasn't been tested yet since I don't
  123.         actually have a telnet client that supports this option... :-)
  124.     2)  the ASDG serial.device extension SIOCMD_SETCTRLLINES is
  125.         supported.  However, I don't have any software that makes use
  126.         of this so haven't been able to test it.  The way it should
  127.         work, though, is this:
  128.  
  129.         the RTS options are basically ignored, except that they
  130.         will toggle the RTS line state reported by SDCMD_QUERY.
  131.         RTS doesn't really map to anything in telnet.
  132.  
  133.         if DTR is turned off, the device should hang up the
  134.         connection.  it should also not allow any new connections
  135.         on the unit until DTR is turned back on.  If there was
  136.         no connection at the time DTR was turned off, the unit
  137.         should notify the supervisor that it can't accept any
  138.         new connections.
  139.  
  140.         if DTR is turned on, the unit should inform the
  141.         supervisor that it is now read to accept another
  142.         connection.
  143.  
  144.         when a CMD_RESET is done, RTS and DTR should both be
  145.         reset to ON status, notifying the supervisor as
  146.         appropriate.
  147.  
  148.     3)  telnetd.device provides a full 8-bit clean pathway (provided
  149.         the client asked for binary mode).  it does not do any line
  150.         ending translations, etc, as is normally done.  it assumes
  151.         that the software one is running on top of it does the
  152.         translations needed.  Since this is normally done anyway
  153.         when talking to a modem, BBS software or programs like Getty
  154.         generally do this anyway and this shouldn't be a problem.
  155.  
  156.  
  157.               **************************************************
  158.                  VERSION 0 REVISION 241 -- BUILT ON 14 Aug 93
  159.               **************************************************
  160.  
  161. Minor change made to the telnet receive code which should result in less
  162. overhead in the buffer management routines.  Resulted in a boost of about
  163. 700 CPS on ZModem file transfers between two terms running on the same
  164. machine.
  165.  
  166. Lowered the stack size given to the supervisor and unit processes to 8192
  167. bytes.
  168.  
  169. CMD_READ code updated to better support EOFMODE requests.
  170.  
  171. CMD_READ now returns SerErr_BufOverfload and SerErr_DetectedBreak.  The
  172. appropriate flags are cleared in the io_Status field when these are
  173. returned, so a SDCMD_QUERY right after one of these errors is returned will
  174. not indicate the condition.  SDCMD_QUERYs done when no CMD_READ has been
  175. posted will indicate these conditions (and clear them).
  176.  
  177. Implemented changes necessary to BeginIO to make it do CMD_READ immediate
  178. when there are no pending read requests and the buffer has enough
  179. characters in it to satisfy the read request without having to block.  This
  180. fixed the problem with Terminus having very slow io/dropping characters
  181. when calling BeginIO directly (i.e., when it is in Ignore ODU mode).  This
  182. also improved the situation with C-Net file transfers failing, but did not
  183. totally solve the problem with C-Net.
  184.  
  185.  
  186.               **************************************************
  187.                  VERSION 0 REVISION 259 -- BUILT ON 17 Aug 93
  188.               **************************************************
  189.  
  190. Added rate pacing support in an attempt to fix downloads over a terminal
  191. server.  telnetd.device would dump data to the terminal server at full
  192. ethernet speed.  The terminal server would then have to downspeed to the
  193. modem speed, and overruns often occured.  Pacing keeps telnetd.device from
  194. blasting away at the terminal server.  Unfortunately, pacing didn't seem to
  195. fix the problems with the NetBlazer.  Sigh.  Pacing support is being left
  196. in, however, in case someone else finds it useful.
  197.  
  198. Pacing is optional on a per TCP port basis.  If no pacing is specified, no
  199. pacing will be done.  If PACERATE is 0, then pacing will be done at the
  200. rate reported by TELOPT_TSPEED.  Otherwise, pacing will be done at the rate
  201. specified.  So, taking the earlier example of 5 units on port 23, a
  202. similiar config entry that paces data output at 19200 baud would look like:
  203.  
  204.     23 5 PACERATE 19200 255.255.255.255
  205.  
  206. Data being received from the client is not paced.  Only data being output
  207. to the client is.
  208.  
  209. Recomendations on how to set PACERATE are as follows:
  210.  
  211.     1) If you experience to problems with overrun then do not
  212.        specify a PACERATE at all.  This will give maximum throughput
  213.        and reduce the driver's overhead a bit as well.
  214.  
  215.     2) If you experience overrun problems and have clients that
  216.        fully support the TELOPT_TSPEED negotation, then set
  217.        PACERATE to 0.
  218.  
  219.     3) If you experience overrun problems, but have clients that
  220.        do not support the TELOPT_TSPEED option, you must set the
  221.        pace rate manually.  For high speed modems, you probably
  222.        want to set it to 38400 or 19200.  For slow modems, you
  223.        want to to set it at 2400 - 9600 most likely.  If you
  224.        have people connecting to a terminal server and then into
  225.        a BBS, you might create bbs24 and bbs192 aliases on the
  226.        terminal server that connect to different ports on the
  227.        BBS.  These ports would then have difference pace rates
  228.        set.
  229.  
  230. NOTE:  THE DEMO VERSION IS FIXED AT A PACE RATE OF 9600 BAUD!
  231.  
  232.               **************************************************
  233.                  VERSION 0 REVISION 282 -- BUILT ON 18 Aug 93
  234.               **************************************************
  235.  
  236. Thanks to agnet.device in the release version of AmiTCP v2, I am now able
  237. to run AmiTCP and AS225 on the same machine concurrently.  This has made it
  238. possible for me to test the AmiTCP version of the device, which appears to
  239. work exactly the same as the AS225 version (which is should).  Yeah!
  240.  
  241. There is, however, a bug in AmiTCP v2's WaitSelect() command that prevents
  242. it from waiting on a timeout value properly.  Because of this, the delay
  243. that should occur between RINGs does not occur since WaitSelect() returns
  244. timeout immediately.  This doesn't seem to affect the useability of the
  245. device, though.  I have reported the bug to the AmiTCP guys.  Jarno also
  246. tells me there is a bug in AmiTCP's gethostbyaddr() routine that can cause
  247. problems.  Thus, Caller ID output may be trashed sometimes.
  248.  
  249. Now defaults to ATE1 (echo on) at the request of several people. *sigh*
  250. I've always prefered echo off, myself.
  251.  
  252. Implemented access restriction checking.  At this time, subnet checking is
  253. not possible, however.  Entries for the access list and the blacklist list
  254. should be entered in the following manner:
  255.  
  256.     if the entry is a net, enter only the net portion of the address.
  257.     i.e., enter 128.135 only for the net 128.135.0.0.
  258.  
  259.     if the entry is a host, enter the full IP address for the host.
  260.     i.e., 128.135.72.6.
  261.  
  262.     if you are intending to specify a net, and instead specify a
  263.     net + local address (i.e., 128.135.72, in this case a sub-net
  264.     of 128.135), then telnetd.device will interpret this as a host
  265.     entry and no-one from the net will be able to connect (except
  266.     for the machine with IP address 128.135.72.0 in this example).
  267.  
  268. The access list must be specified.  If you wish to allow access to all
  269. nets, specify a single entry of 255.255.255.255.  Since the blacklist list
  270. is optional, you should not specify it unless you actually wish to
  271. blacklist someone.
  272.  
  273. A couple of example configuration lines follow.  All specify TCP/IP port 23
  274. with 5 units.
  275.  
  276.     23 5 255.255.255.255 blacklist 128.135
  277.     this would allow any machine except for those in the net
  278.     128.135 to connect to the machine.
  279.  
  280.     23 5 128.135
  281.     allow only those in the net 128.135 to connect.
  282.  
  283.     23 5 128.135 128.248 131.193 blacklist 128.135.72.6
  284.     allow any machine in the nets 128.135, 128.248, & 131.193 to
  285.     connect with the exception of the specific machine 128.135.72.6.
  286.  
  287. NOTE: THE DEMO VERSION RESTRICTS ACCESS TO THOSE MACHINES ON YOUR LOCAL NET!
  288.  
  289. State related to the AT command parser is now stored by the supervisor
  290. process rather than the individual unit.  Now, when you hang the unit up by
  291. closing & then reopening it (standard CBM hangup procedure), the unit will
  292. remember your AT command settings as well as the last caller information.
  293. Before, the unit would reinitialize this state information each time it was
  294. opened, and thus this information would be lost from one opening of the
  295. unit to the next.
  296.  
  297. The new method is not totally fool-proof, however.  If the unit you are
  298. setting options in is the only unit open, then closing and reopening it
  299. will cause the AT command set to be reset.  This is because telnetd.device
  300. shuts down all supervisors when the last unit open is closed.  Thus, the
  301. supervisor goes away and so does the state information.  This is not viewed
  302. as a significant problem, however, as most usage of telnetd.device will
  303. have more than one unit open at the same time.
  304.  
  305.               **************************************************
  306.                  VERSION 0 REVISION 298 -- BUILT ON 29 Aug 93
  307.               **************************************************
  308.  
  309. This is a release candidate.  The device basically hasn't changed since
  310. the last build.  More testing was done, though.  Found a bug in the delayed
  311. expunge handling.  On Mike Sinz' recommendation, the device no longer
  312. supports delayed expunge.
  313.  
  314. I have also created a .texinfo file of the documentation.  This gives both
  315. an AmigaGuide file as well as beautiful text output via TeX.  The DVI file
  316. is included.  I may include a postscript file generated from the DVI in
  317. registered versions if people ask me for it since not everyone has a
  318. program that can deal with DVI files.
  319.  
  320.                ************************************************
  321.                   VERSION 1 REVISION 0 -- BUILT ON 31 Aug 93
  322.                ************************************************
  323.  
  324. First public release!
  325.